INCLUDES = -I../../ABLMediaServer/Linux/boost/include \
           -I../media-server-master/libflv/include \
           -I../media-server-master/librtmp/include \
		   -I../media-server-master/libmpeg/include 
LIBS = -L../bin \
       -L../../ABLMediaServer/Linux/boost/lib -lboost_system -lboost_thread -lboost_log -lboost_regex -lboost_filesystem -lboost_date_time -lboost_chrono -lboost_atomic -lrtmp -lflv 
  
libABLPush.so:ABLogFile.o ABLPush.o ABLSipParse.o g711.o g711_table.o LCbase64.o MediaFifo.o MediaSendThreadPool.o netBase64.o Base64.o \
              NetBaseThreadPool.o NetClientSendRtmp.o NetClientSendRtsp.o NetRecvBase.o RtcpPacket.o ourMD5.o strDup.o AACEncode.o DigestAuthentication.o NetGB28181RtpClient.o
	g++ -std=c++11 -g -fPIC -shared -fvisibility=hidden -o libABLPush.so ABLogFile.o ABLPush.o ABLSipParse.o g711.o g711_table.o LCbase64.o MediaFifo.o MediaSendThreadPool.o netBase64.o \
	         NetBaseThreadPool.o NetClientSendRtmp.o NetClientSendRtsp.o NetRecvBase.o RtcpPacket.o ourMD5.o strDup.o AACEncode.o DigestAuthentication.o Base64.o NetGB28181RtpClient.o $(LIBS) -lpthread -lXHNetSDK -lRtpPacket -lPsMux -lfaac
ABLogFile.o:ABLogFile.cpp
	g++ -std=c++11 -g $(INCLUDES) -fvisibility=hidden -fPIC -c ABLogFile.cpp 
ABLPush.o:ABLPush.cpp
	g++ -std=c++11 -g $(INCLUDES) -fvisibility=hidden -fPIC -c ABLPush.cpp 
ABLSipParse.o:ABLSipParse.cpp
	g++ -std=c++11 -g $(INCLUDES) -fvisibility=hidden -fPIC -c ABLSipParse.cpp 
g711.o:g711.cpp
	g++ -std=c++11 -g $(INCLUDES) -fvisibility=hidden -fPIC -c g711.cpp 
g711_table.o:g711_table.cpp
	g++ -std=c++11 -g $(INCLUDES) -fvisibility=hidden -fPIC -c g711_table.cpp 
LCbase64.o:LCbase64.cpp
	g++ -std=c++11 -g $(INCLUDES) -fvisibility=hidden -fPIC -c LCbase64.cpp 
MediaFifo.o:MediaFifo.cpp
	g++ -std=c++11 -g $(INCLUDES) -fvisibility=hidden -fPIC -c MediaFifo.cpp 
MediaSendThreadPool.o:MediaSendThreadPool.cpp
	g++ -std=c++11 -g $(INCLUDES) -fvisibility=hidden -fPIC -c MediaSendThreadPool.cpp 
netBase64.o:netBase64.cpp
	g++ -std=c++11 -g $(INCLUDES) -fvisibility=hidden -fPIC -c netBase64.cpp 
NetBaseThreadPool.o:NetBaseThreadPool.cpp
	g++ -std=c++11 -g $(INCLUDES) -fvisibility=hidden -fPIC -c NetBaseThreadPool.cpp 
NetClientSendRtmp.o:NetClientSendRtmp.cpp
	g++ -std=c++11 -g $(INCLUDES) -fvisibility=hidden -fPIC -c NetClientSendRtmp.cpp 
NetClientSendRtsp.o:NetClientSendRtsp.cpp
	g++ -std=c++11 -g $(INCLUDES) -fvisibility=hidden -fPIC -c NetClientSendRtsp.cpp 
NetRecvBase.o:NetRecvBase.cpp
	g++ -std=c++11 -g $(INCLUDES) -fvisibility=hidden -fPIC -c NetRecvBase.cpp 
RtcpPacket.o:RtcpPacket.cpp
	g++ -std=c++11 -g $(INCLUDES) -fvisibility=hidden -fPIC -c RtcpPacket.cpp 
ourMD5.o:ourMD5.cpp
	g++ -std=c++11 -g $(INCLUDES) -fvisibility=hidden -fPIC -c ourMD5.cpp 	
strDup.o:strDup.cpp
	g++ -std=c++11 -g $(INCLUDES) -fvisibility=hidden -fPIC -c strDup.cpp 	
AACEncode.o:AACEncode.cpp
	g++ -std=c++11 -g $(INCLUDES) -fvisibility=hidden -fPIC -c AACEncode.cpp		
DigestAuthentication.o:DigestAuthentication.cpp
	g++ -std=c++11 -g $(INCLUDES) -fvisibility=hidden -fPIC -c DigestAuthentication.cpp
Base64.o:Base64.cpp
	g++ -std=c++11 -g $(INCLUDES) -fvisibility=hidden -fPIC -c Base64.cpp
NetGB28181RtpClient.o:NetGB28181RtpClient.cpp
	g++ -std=c++11 -g $(INCLUDES) -fvisibility=hidden -fPIC -c NetGB28181RtpClient.cpp
	
clean:
	rm *.o
	rm libABLPush.so
